﻿// 105 字符串处理1.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
//

#include <iostream>
#include <stack>
#include <algorithm>

using namespace std;

/*
http://oj.daimayuan.top/course/7/problem/413

给定一个长度为 n的字符串 s，字符串由小写字母 a..z 组成。

小明来对这个字符串进行操作，他会从头到尾检查这个字符串，如果发现有两个相同的字母并排在一起，就会把这两个字符都删掉。
小明会重复这个操作，直到没有相邻的相同字母。

你需要给出处理完成的字符串。

输入格式
第一行一个整数 n。

接下来一行一个长度为 n的字符串 s。

输出格式
输出最后处理完成的字符串，有可能是空串。

样例输入1
9
acccabddb
样例输出1
aca
样例输入2
5
ababa
样例输出2
ababa
数据规模
对于所有数据，保证 1≤n≤100000。
*/

stack<char> st;
int n;
string s;

int main()
{
	cin >> n >> s;
	string ans; int i = 0;
	for (i = 0; i < n; i++) {
		if (st.empty()) { st.push(s[i]); }
		else if (st.top() == s[i]) { st.pop(); }
		else if (st.top() != s[i]) {st.push(s[i]); }
	}

	if (st.empty()) {
		cout << "" << endl; return 0;
	}

	while (!st.empty()) {
		ans += st.top(); st.pop();
	}
	reverse(ans.begin(), ans.end());
	cout << ans << endl;
	return 0;
}

 